home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 1159.ZIP / OSSPREP.PRG < prev    next >
Text File  |  1986-12-04  |  17KB  |  857 lines

  1. SET SAFETY OFF
  2. N4='Z'
  3. LOCATI='LOCATI'
  4. INSTTYPE='INSTTYPE'
  5. DUEWITHIN='DUEWITHIN'
  6. DO WHILE N4#'STOP'
  7. ALL=0
  8. NOTUSED=0
  9. INCAL=0
  10. INREP=0
  11. MULTTV=0
  12. MULTSN=0
  13. SERPHRASE=0
  14. TVAPHRASE=0
  15. CAL=0
  16. STORAGE=0
  17. OTHERCAL=0
  18. NUMCOND=0
  19. INACTIVE=1
  20. COND1='OSS'
  21. COND2=COND1
  22. COND3=COND1
  23. CALDU=0
  24. CALDT=CALDU
  25. CALINT=CALDU
  26. REMK=CALDU
  27. UPDT=CALDU
  28. DO WHILE (ASC(N4)<65.OR.ASC(N4)>82).AND.ASC(N4)>0
  29. CLEAR
  30. @ 0,15 SAY 'Data base in use:  '
  31. ?? OSS
  32. @ 1,0 SAY 'PLEASE NOTE: Record searches which include the choice of item A ;
  33. below will'
  34. ?'ignor records which are EXCLUSIVELY in category "'
  35. ?? CATEGORY3
  36. ??'."'
  37. ?'What conditions do you wish to place on this record search ?'
  38. IF COND1#DUEWITHIN
  39. ?'A)  Search the "'
  40. ?? DUEDATE
  41. ??'" field for dates <= a certain date.'
  42. ELSE
  43. ?'A)* Search the "'
  44. ?? DUEDATE
  45. ??'" field for dates <= a certain date.'
  46. ENDIF
  47. IF COND3#INSTTYPE
  48.   ?'B)  Search the "'
  49.   ?? INSTNAME
  50.   ??'" field for a key phrase.'
  51.  ELSE
  52.   ?'B)* Search the "'
  53.   ?? INSTNAME
  54.   ??'" field for a key phrase.'
  55. ENDIF
  56. IF COND2#LOCATI
  57.   ?'C)  Search the "'
  58.   ?? LOCATNAME
  59.   ??'" field for a key phrase.'
  60.  ELSE
  61.   ?'C)* Search the "'
  62.   ?? LOCATNAME
  63.   ??'" field for a key phrase.'
  64. ENDIF
  65. IF INACTIVE=0
  66.   ?'D)* Restrict the search to those records in category "'
  67.   ?? CATEGORY1
  68.   ??'."'
  69.  ELSE
  70.   ?'D)  Restrict the search to those records in category "'
  71.   ?? CATEGORY1
  72.   ??'."'
  73. ENDIF
  74. IF INACTIVE=10
  75.   ?'E)* Restrict the search to those records in category "'
  76.   ?? CATEGORY2
  77.   ??'."'
  78.  ELSE
  79.   ?'E)  Restrict the search to those records in category "'
  80.   ?? CATEGORY2
  81.   ??'."'
  82. ENDIF
  83. ?'                      Single Selection Items Below'
  84. ?'F)  Search for ALL records in this data base.'
  85. ?'G)  Search the "'
  86. ?? DUEDATE
  87. ??'" field from date to date.'
  88. ?'H)  Search the "'
  89. ?? CALIBDATE
  90. ??'" field from date to date.'
  91. ?'I)  Search the "'
  92. ?? CALINTERVL
  93. ??'" field from interval to interval.'
  94. ?'J)  Search the "'
  95. ?? REMARKNM
  96. ??'" field for a key phrase.'
  97. ?'K)  Search for all records in subcategory "'
  98. ?? SUBCAT1
  99. ??'."'
  100. ?'L)  Search for all records in subcategory "'
  101. ?? SUBCAT2
  102. ??'."'
  103. ?'M)  Search for all records in subcategory "'
  104. ?? SUBCAT3
  105. ??'."'
  106. ?'N)  Search for all records in subcategories "'
  107. ?? SUBCAT2
  108. ??'" or'
  109. ?'    "'
  110. ?? SUBCAT3
  111. ??'."'
  112. ?'O)  Search the "'
  113. ?? SERIALNUM
  114. ??'" field for a key phrase.'
  115. ?'P)  Search the "'
  116. ?? TVANUMBER
  117. ??'" field for a key phrase.'
  118. ?'Q)  Search the "Last Update" (last process date) field from date to date.'
  119. ?'R)  Search for all records in category "'
  120. ?? CATEGORY3
  121. ??'."'
  122. WAIT '    Press "RETURN" to return to the previous menu.' TO N4
  123. ??'      WORKING . . .'
  124. N4=UPPER(N4)
  125. DO CASE
  126.  CASE ASC(N4)=0
  127.   RETURN
  128.  CASE N4='A'
  129.   IF INACTIVE=10.AND.NOTUSED=1
  130.    NOTUSED=0
  131.    INACTIVE=1
  132.   ENDIF
  133.   N6=N4
  134.   DO WHILE N6#'Y'
  135.   @ 14,0 CLEAR
  136.   ?
  137.   ?'What date do you choose ?'
  138.   ?
  139.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  140.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  141.   IF ASC(CHOSDATE)=0
  142.    RETURN
  143.   ENDIF
  144.   COMPDATE=CTOD(CHOSDATE)
  145.  IF LEN(CHOSDATE)<9
  146.   IF YEAR(COMPDATE)+100-YEAR(DATE())<10
  147.    MOCALDT=MONTH(COMPDATE)
  148.    DYCALDT=DAY(COMPDATE)
  149.    YRCALDT=INT(YEAR(COMPDATE)+100+.5)
  150.    IF MOCALDT<10
  151.      M=1
  152.     ELSE
  153.      M=2
  154.    ENDIF
  155.    IF DYCALDT<10
  156.      D=1
  157.     ELSE
  158.      D=2
  159.    ENDIF
  160.    COMPDATE=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  161.   ENDIF
  162.  ENDIF
  163.   ??'Is '
  164.   ?? CDOW(COMPDATE)
  165.   ??', '
  166.   ?? CMONTH(COMPDATE)
  167.   ?? DAY(COMPDATE)
  168.   ??', '
  169.   ?? YEAR(COMPDATE)
  170.   ??' the date which you want ?  (Y/N)'
  171.   WAIT '                                                           ' TO N6
  172.   N6=UPPER(N6)
  173.   IF ASC(N6)=0
  174.    RETURN
  175.   ENDIF
  176.   ENDDO
  177.   BYDATE=INT(YEAR(COMPDATE)*365.24+MONTH(COMPDATE)*30.44+DAY(COMPDATE))
  178.   ?
  179.   ?
  180.   N6='Z'
  181.   DO WHILE N6#'Y'.AND.N6#'N'
  182.    COND1='DUEWITHIN'
  183.    @ 19,0
  184.    WAIT 'Do you wish another condition ?  (Y/N)' TO N6
  185.    DO CASE
  186.      CASE UPPER(N6)='Y'
  187.        ??'    WORKING . . .'
  188.      OTHERWISE
  189.        @ 14,0 CLEAR
  190.        @ 15,35 SAY 'WORKING . . .'
  191.    ENDCASE
  192.    N6=UPPER(N6)
  193.    IF ASC(N6)=0
  194.      RETURN
  195.    ENDIF
  196.   ENDDO
  197.   IF N6='Y'
  198.    N4='Z'
  199.    LOOP
  200.   ENDIF
  201.  CASE N4='B'
  202.   @ 14,0 CLEAR
  203.   ?
  204.   ?'         What is the key phrase you wish to use' 
  205.   ?
  206.   ?'         for the "'
  207.   ?? INSTNAME
  208.   ??'" field ?'
  209.   ?
  210.   ACCEPT '                                ' TO INST
  211.   IF ASC(INST)=0
  212.    RETURN
  213.   ENDIF
  214.   INST=UPPER(LTRIM(TRIM(INST)))
  215.   N6='Z'
  216.   DO WHILE N6#'Y'.AND.N6#'N'
  217.    COND3='INSTTYPE'
  218.    IF COND1='ONLY'
  219.      COND1='1'
  220.    ENDIF
  221.    ?
  222.    ?
  223.    @ ROW()-1,0
  224.    WAIT 'Do you wish another condition ?  (Y/N)' TO N6
  225.    DO CASE
  226.     CASE UPPER(N6)='Y'
  227.       ??'     WORKING . . .'
  228.     CASE ASC(N6)=0
  229.      RETURN
  230.     OTHERWISE
  231.       @ 14,0 CLEAR
  232.       @ 15,35 SAY 'WORKING . . .'
  233.    ENDCASE
  234.    N6=UPPER(N6)
  235.   ENDDO
  236.   IF N6='Y'
  237.    N4='Z'
  238.    LOOP
  239.   ENDIF
  240.  CASE N4='C'
  241.   @ 14,0 CLEAR
  242.   ?
  243.   ?'         What is the key phrase you wish to use' 
  244.   ?
  245.   ?'         for the "'
  246.   ?? LOCATNAME
  247.   ??'" field ?'
  248.   ?
  249.   ACCEPT '                                ' TO LOC
  250.   IF ASC(LOC)=0
  251.    RETURN
  252.   ENDIF
  253.   LOC=UPPER(LTRIM(TRIM(LOC)))
  254.   N6='Z'
  255.   DO WHILE N6#'Y'.AND.N6#'N'
  256.    COND2='LOCATI'
  257.    IF COND1='ONLY'
  258.      COND1='1'
  259.    ENDIF
  260.    ?
  261.    ?
  262.    @ ROW()-1,0
  263.    WAIT 'Do you wish another condition ?  (Y/N)' TO N6
  264.    DO CASE
  265.     CASE UPPER(N6)='Y'
  266.       ??'     WORKING . . .'
  267.     CASE ASC(N6)=0
  268.      RETURN
  269.     OTHERWISE
  270.       @ 14,0 CLEAR
  271.       @ 16,35 SAY 'WORKING . . .'
  272.    ENDCASE
  273.    N6=UPPER(N6)
  274.   ENDDO
  275.   IF N6='Y'
  276.    N4='Z'
  277.    LOOP
  278.   ENDIF
  279.   CASE N4='D'
  280.    @ 14,0 CLEAR
  281.    INACTIVE=0
  282.    NOTUSED=0
  283.    IF COND1#'DUEWITHIN'.AND.COND2#'LOCATI'.AND.COND3#'INSTTYPE'
  284.      COND1='ONLY'
  285.    ENDIF
  286.   N6='Z'
  287.   DO WHILE N6#'Y'.AND.N6#'N'
  288.    ?
  289.    ?'          Restrict the search to those records in '
  290.    ?
  291.    ?'          category "'
  292.    ?? CATEGORY1
  293.    ??'".'
  294.    ?
  295.    ?
  296.    WAIT 'Do you wish another condition ?  (Y/N)' TO N6
  297.    N6=UPPER(N6)
  298.    DO CASE
  299.     CASE N6='Y'
  300.       ??'     WORKING . . .'
  301.       N4='Z'
  302.       EXIT
  303.     CASE ASC(N6)=0
  304.      RETURN
  305.     OTHERWISE
  306.       @ 14,0 CLEAR
  307.       @ 15,35 SAY 'WORKING . . .'
  308.    ENDCASE
  309.   ENDDO
  310.   CASE N4='E'
  311.    @ 14,0 CLEAR
  312.    INACTIVE=10
  313.    NOTUSED=1
  314.    COND1='OSS'
  315.    IF COND2#'LOCATI'.AND.COND3#'INSTTYPE'
  316.      COND1='ONLY'
  317.    ENDIF
  318.   N6='Z'
  319.   DO WHILE N6#'Y'.AND.N6#'N'
  320.    ?
  321.    ?'          Restrict the search to those records in '
  322.    ?
  323.    ?'          category "'
  324.    ?? CATEGORY2
  325.    ??'".'
  326.    ?
  327.    WAIT 'Do you wish another condition ?  (Y/N)' TO N6
  328.    N6=UPPER(N6)
  329.    DO CASE
  330.     CASE N6='Y'
  331.       ??'     WORKING . . .'
  332.       N4='Z'
  333.       EXIT
  334.     CASE ASC(N6)=0
  335.      RETURN
  336.     OTHERWISE
  337.       @ 14,0 CLEAR
  338.       @ 15,35 SAY 'WORKING . . .'
  339.    ENDCASE
  340.   ENDDO
  341.   CASE N4='F'
  342.     ALL=1
  343.     NOTUSED=10
  344.     INACTIVE=10
  345.     COND1='1'
  346.     COND2='2'
  347.     COND3='3'
  348.   N6='Z'
  349.     @ 14,0 CLEAR
  350.   DO WHILE N6#'Y'.AND.N6#'N'
  351.    ?
  352.    ?
  353.    @ ROW()-1,0
  354.    WAIT 'Are you sure you wish to search for ALL records ?  (Y/N)' TO N6
  355.    DO CASE
  356.     CASE UPPER(N6)='N'
  357.       ??'     WORKING . . .'
  358.       INACTIVE=1
  359.       ALL=0
  360.       N4='Z'
  361.       LOOP
  362.     CASE ASC(N6)=0
  363.      RETURN
  364.     OTHERWISE
  365.       @ 14,0 CLEAR
  366.       @ 15,35 SAY 'WORKING . . .'
  367.    ENDCASE
  368.    N6=UPPER(N6)
  369.   ENDDO
  370.   CASE N4='G'
  371.     NOTUSED=10
  372.     INACTIVE=10
  373.     COND1='1'
  374.     COND2='2'
  375.     COND3='3'
  376.     CALDU=1
  377.   COMPDATE1=CTOD('12/12/86')
  378.   COMPDATE2=CTOD('12/12/84')
  379.  DO WHILE COMPDATE1>COMPDATE2
  380.   N6=N4
  381.   DO WHILE N6#'Y'
  382.   @ 14,0 CLEAR
  383.   ?
  384.   ?'What beginning date do you choose ?'
  385.   ?
  386.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  387.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  388.   IF ASC(CHOSDATE)=0
  389.    RETURN
  390.   ENDIF
  391.   COMPDATE1=CTOD(CHOSDATE)
  392.  IF LEN(CHOSDATE)<9
  393.   IF YEAR(COMPDATE1)+100-YEAR(DATE())<10
  394.    MOCALDT=MONTH(COMPDATE1)
  395.    DYCALDT=DAY(COMPDATE1)
  396.    YRCALDT=INT(YEAR(COMPDATE1)+100+.5)
  397.    IF MOCALDT<10
  398.      M=1
  399.     ELSE
  400.      M=2
  401.    ENDIF
  402.    IF DYCALDT<10
  403.      D=1
  404.     ELSE
  405.      D=2
  406.    ENDIF
  407.    COMPDATE1=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  408.   ENDIF
  409.  ENDIF
  410.   ??'Is '
  411.   ?? CDOW(COMPDATE1)
  412.   ??', '
  413.   ?? CMONTH(COMPDATE1)
  414.   ?? DAY(COMPDATE1)
  415.   ??', '
  416.   ?? YEAR(COMPDATE1)
  417.   ??' the date which you want ?  (Y/N)'
  418.   WAIT '                                                           ' TO N6
  419.   N6=UPPER(N6)
  420.   IF ASC(N6)=0
  421.    RETURN
  422.   ENDIF
  423.   ENDDO
  424.   ?
  425.   ?
  426.   N6=N4
  427.   DO WHILE N6#'Y'
  428.   @ 14,0 CLEAR
  429.   ?
  430.   ?'What ending date do you choose ?'
  431.   ?
  432.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  433.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  434.   IF ASC(CHOSDATE)=0
  435.    RETURN
  436.   ENDIF
  437.   COMPDATE2=CTOD(CHOSDATE)
  438.  IF LEN(CHOSDATE)<9
  439.   IF YEAR(COMPDATE2)+100-YEAR(DATE())<10
  440.    MOCALDT=MONTH(COMPDATE2)
  441.    DYCALDT=DAY(COMPDATE2)
  442.    YRCALDT=INT(YEAR(COMPDATE2)+100+.5)
  443.    IF MOCALDT<10
  444.      M=1
  445.     ELSE
  446.      M=2
  447.    ENDIF
  448.    IF DYCALDT<10
  449.      D=1
  450.     ELSE
  451.      D=2
  452.    ENDIF
  453.    COMPDATE2=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  454.   ENDIF
  455.  ENDIF
  456.   ??'Is '
  457.   ?? CDOW(COMPDATE2)
  458.   ??', '
  459.   ?? CMONTH(COMPDATE2)
  460.   ?? DAY(COMPDATE2)
  461.   ??', '
  462.   ?? YEAR(COMPDATE2)
  463.   ??' the date which you want ?  (Y/N)'
  464.   WAIT '                                                           ' TO N6
  465.   N6=UPPER(N6)
  466.   IF ASC(N6)=0
  467.    RETURN
  468.   ENDIF
  469.   ENDDO
  470.   ?
  471.   ?
  472.   @ ROW(),35 SAY 'WORKING . . .'
  473.   IF COMPDATE1>COMPDATE2
  474.    @ 14,0 CLEAR
  475.    ?
  476.    ?'                         INVALID DATE ENTRY'
  477.    ?
  478.    ?
  479.    WAIT '                    Press any key to continue . . .' TO N1
  480.   ENDIF
  481.  ENDDO
  482.   CASE N4='H'
  483.     NOTUSED=10
  484.     INACTIVE=10
  485.     COND1='1'
  486.     COND2='2'
  487.     COND3='3'
  488.     CALDT=1
  489.   COMPDATE1=CTOD('12/12/86')
  490.   COMPDATE2=CTOD('12/12/84')
  491.  DO WHILE COMPDATE1>COMPDATE2
  492.   N6=N4
  493.   DO WHILE N6#'Y'
  494.   @ 14,0 CLEAR
  495.   ?
  496.   ?'What beginning date do you choose ?'
  497.   ?
  498.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  499.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  500.   IF ASC(CHOSDATE)=0
  501.    RETURN
  502.   ENDIF
  503.   COMPDATE1=CTOD(CHOSDATE)
  504.  IF LEN(CHOSDATE)<9
  505.   IF YEAR(COMPDATE1)+100-YEAR(DATE())<10
  506.    MOCALDT=MONTH(COMPDATE1)
  507.    DYCALDT=DAY(COMPDATE1)
  508.    YRCALDT=INT(YEAR(COMPDATE1)+100+.5)
  509.    IF MOCALDT<10
  510.      M=1
  511.     ELSE
  512.      M=2
  513.    ENDIF
  514.    IF DYCALDT<10
  515.      D=1
  516.     ELSE
  517.      D=2
  518.    ENDIF
  519.    COMPDATE1=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  520.   ENDIF
  521.  ENDIF
  522.   ??'Is '
  523.   ?? CDOW(COMPDATE1)
  524.   ??', '
  525.   ?? CMONTH(COMPDATE1)
  526.   ?? DAY(COMPDATE1)
  527.   ??', '
  528.   ?? YEAR(COMPDATE1)
  529.   ??' the date which you want ?  (Y/N)'
  530.   WAIT '                                                           ' TO N6
  531.   N6=UPPER(N6)
  532.   IF ASC(N6)=0
  533.    RETURN
  534.   ENDIF
  535.   ENDDO
  536.   ?
  537.   ?
  538.   N6=N4
  539.   DO WHILE N6#'Y'
  540.   @ 14,0 CLEAR
  541.   ?
  542.   ?'What ending date do you choose ?'
  543.   ?
  544.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  545.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  546.   IF ASC(CHOSDATE)=0
  547.    RETURN
  548.   ENDIF
  549.   COMPDATE2=CTOD(CHOSDATE)
  550.  IF LEN(CHOSDATE)<9
  551.   IF YEAR(COMPDATE2)+100-YEAR(DATE())<10
  552.    MOCALDT=MONTH(COMPDATE2)
  553.    DYCALDT=DAY(COMPDATE2)
  554.    YRCALDT=INT(YEAR(COMPDATE2)+100+.5)
  555.    IF MOCALDT<10
  556.      M=1
  557.     ELSE
  558.      M=2
  559.    ENDIF
  560.    IF DYCALDT<10
  561.      D=1
  562.     ELSE
  563.      D=2
  564.    ENDIF
  565.    COMPDATE2=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  566.   ENDIF
  567.  ENDIF
  568.   ??'Is '
  569.   ?? CDOW(COMPDATE2)
  570.   ??', '
  571.   ?? CMONTH(COMPDATE2)
  572.   ?? DAY(COMPDATE2)
  573.   ??', '
  574.   ?? YEAR(COMPDATE2)
  575.   ??' the date which you want ?  (Y/N)'
  576.   WAIT '                                                           ' TO N6
  577.   N6=UPPER(N6)
  578.   IF ASC(N6)=0
  579.    RETURN
  580.   ENDIF
  581.   ENDDO
  582.   ?
  583.   ?
  584.   @ ROW(),35 SAY 'WORKING . . .'
  585.   IF COMPDATE1>COMPDATE2
  586.    @ 14,0 CLEAR
  587.    ?
  588.    ?'                         INVALID DATE ENTRY'
  589.    ?
  590.    ?
  591.    WAIT '                    Press any key to continue . . .' TO N1
  592.   ENDIF
  593.  ENDDO
  594.   CASE N4='I'
  595.     NOTUSED=10
  596.     INACTIVE=10
  597.     COND1='1'
  598.     COND2='2'
  599.     COND3='3'
  600.     CALINT=1
  601.     INTERVAL1=100
  602.     INTERVAL2=INTERVAL1
  603.    DO WHILE INTERVAL1<0.OR.INTERVAL1>99.OR.INTERVAL2<0.OR.INTERVAL2>99
  604.     @ 14,0 CLEAR
  605.     ?
  606.     ?'                   From INTERVAL 1 to INTERVAL 2'
  607.     ?
  608.     ACCEPT 'What is the first monthly interval ?  'TO INTERVAL3
  609.      IF LEN(TRIM(INTERVAL3))=0
  610.       RETURN
  611.      ENDIF
  612.      IF VAL(INTERVAL3)<0.OR.VAL(INTERVAL3)>99
  613.        LOOP
  614.      ENDIF
  615.     ?
  616.     ACCEPT 'What is the second monthly interval ?  'TO INTERVAL4
  617.      IF LEN(TRIM(INTERVAL4))=0
  618.       RETURN
  619.      ENDIF
  620.      IF VAL(INTERVAL4)<0.OR.VAL(INTERVAL4)>99
  621.        LOOP
  622.      ENDIF
  623.     DO CASE
  624.      CASE VAL(INTERVAL4)>=VAL(INTERVAL3)
  625.       INTERVAL1=INT(VAL(INTERVAL3))
  626.       INTERVAL2=INT(VAL(INTERVAL4))
  627.      OTHERWISE
  628.       INTERVAL1=INT(VAL(INTERVAL4))
  629.       INTERVAL2=INT(VAL(INTERVAL3))
  630.     ENDCASE
  631.    ENDDO
  632.    @ ROW()+2,35 SAY 'WORKING . . .'
  633.   CASE N4='J'
  634.     NOTUSED=10
  635.     INACTIVE=10
  636.     COND1='1'
  637.     COND2='2'
  638.     COND3='3'
  639.     REMK=1
  640.     @ 14,0 CLEAR
  641.     ?
  642.     ?'What key phrase do you wish to use to search the "'
  643.     ?? REMARKNM
  644.     ??'" field ?'
  645.     ?
  646.     ACCEPT '                          ' TO REMARK1
  647.     IF LEN(TRIM(REMARK1))=0
  648.      RETURN
  649.     ENDIF
  650.     @ ROW()+2,35 SAY 'WORKING . . .'
  651.   CASE N4='K'
  652.     STORAGE=1
  653.     NOTUSED=10
  654.     INACTIVE=10
  655.     COND1='1'
  656.     COND2='2'
  657.     COND3='3'
  658.   CASE N4='L'
  659.     INCAL=1
  660.     NOTUSED=10
  661.     INACTIVE=10
  662.     COND1='1'
  663.     COND2='2'
  664.     COND3='3'
  665.   CASE N4='M'
  666.     INREP=1
  667.     NOTUSED=10
  668.     INACTIVE=10
  669.     COND1='1'
  670.     COND2='2'
  671.     COND3='3'
  672.   CASE N4='N'
  673.     CAL=1
  674.     NOTUSED=10
  675.     INACTIVE=10
  676.     COND1='1'
  677.     COND2='2'
  678.     COND3='3'
  679.   CASE N4='O'
  680.     SERPHRASE=1
  681.     NOTUSED=10
  682.     INACTIVE=10
  683.     COND1='1'
  684.     COND2='2'
  685.     COND3='3'
  686.     @ 14,0 CLEAR
  687.     ?
  688.     ?'What is the character phrase you wish to use to search'
  689.     ?
  690.     ?'the "'
  691.     ?? SERIALNUM
  692.     ??'" field ?'
  693.     ?
  694.     ACCEPT '                           ' TO SERPH
  695.     SERPH=LTRIM(TRIM(UPPER(SERPH)))
  696.     IF LEN(SERPH)=0
  697.      RETURN
  698.     ENDIF
  699.     @ ROW()+2,35 SAY 'WORKING . . .'
  700.   CASE N4='P'
  701.     TVAPHRASE=1
  702.     NOTUSED=10
  703.     INACTIVE=10
  704.     COND1='1'
  705.     COND2='2'
  706.     COND3='3'
  707.     @ 14,0 CLEAR
  708.     ?
  709.     ?'What is the character phrase you wish to use to search'
  710.     ?
  711.     ?'the "'
  712.     ?? TVANUMBER
  713.     ??'" field ?'
  714.     ?
  715.     ACCEPT '                        ' TO TVAPH
  716.     TVAPH=LTRIM(TRIM(UPPER(TVAPH)))
  717.     IF LEN(TVAPH)=0
  718.      RETURN
  719.     ENDIF
  720.     @ ROW()+2,35 SAY 'WORKING . . .'
  721.   CASE N4='Q'
  722.     NOTUSED=10
  723.     INACTIVE=10
  724.     COND1='1'
  725.     COND2='2'
  726.     COND3='3'
  727.     UPDT=1
  728.   COMPDATE1=CTOD('12/12/86')
  729.   COMPDATE2=CTOD('12/12/84')
  730.  DO WHILE COMPDATE1>COMPDATE2
  731.   N6=N4
  732.   DO WHILE N6#'Y'
  733.   @ 14,0 CLEAR
  734.   ?
  735.   ?'What beginning date do you choose ?'
  736.   ?
  737.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  738.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  739.   IF ASC(CHOSDATE)=0
  740.    RETURN
  741.   ENDIF
  742.   COMPDATE1=CTOD(CHOSDATE)
  743.  IF LEN(CHOSDATE)<9
  744.   IF YEAR(COMPDATE1)+100-YEAR(DATE())<10
  745.    MOCALDT=MONTH(COMPDATE1)
  746.    DYCALDT=DAY(COMPDATE1)
  747.    YRCALDT=INT(YEAR(COMPDATE1)+100+.5)
  748.    IF MOCALDT<10
  749.      M=1
  750.     ELSE
  751.      M=2
  752.    ENDIF
  753.    IF DYCALDT<10
  754.      D=1
  755.     ELSE
  756.      D=2
  757.    ENDIF
  758.    COMPDATE1=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  759.   ENDIF
  760.  ENDIF
  761.   ??'Is '
  762.   ?? CDOW(COMPDATE1)
  763.   ??', '
  764.   ?? CMONTH(COMPDATE1)
  765.   ?? DAY(COMPDATE1)
  766.   ??', '
  767.   ?? YEAR(COMPDATE1)
  768.   ??' the date which you want ?  (Y/N)'
  769.   WAIT '                                                           ' TO N6
  770.   N6=UPPER(N6)
  771.   IF ASC(N6)=0
  772.    RETURN
  773.   ENDIF
  774.   ENDDO
  775.   ?
  776.   ?
  777.   N6=N4
  778.   DO WHILE N6#'Y'
  779.   @ 14,0 CLEAR
  780.   ?
  781.   ?'What ending date do you choose ?'
  782.   ?
  783.   ACCEPT 'Date format:  ##/##/####      DATE:  ' TO CHOSDATE
  784.   CHOSDATE=LTRIM(TRIM(CHOSDATE))
  785.   IF ASC(CHOSDATE)=0
  786.    RETURN
  787.   ENDIF
  788.   COMPDATE2=CTOD(CHOSDATE)
  789.  IF LEN(CHOSDATE)<9
  790.   IF YEAR(COMPDATE2)+100-YEAR(DATE())<10
  791.    MOCALDT=MONTH(COMPDATE2)
  792.    DYCALDT=DAY(COMPDATE2)
  793.    YRCALDT=INT(YEAR(COMPDATE2)+100+.5)
  794.    IF MOCALDT<10
  795.      M=1
  796.     ELSE
  797.      M=2
  798.    ENDIF
  799.    IF DYCALDT<10
  800.      D=1
  801.     ELSE
  802.      D=2
  803.    ENDIF
  804.    COMPDATE2=CTOD(STR(MOCALDT,M,0)+'/'+STR(DYCALDT,D,0)+'/'+STR(YRCALDT,4,0)) 
  805.   ENDIF
  806.  ENDIF
  807.   ??'Is '
  808.   ?? CDOW(COMPDATE2)
  809.   ??', '
  810.   ?? CMONTH(COMPDATE2)
  811.   ?? DAY(COMPDATE2)
  812.   ??', '
  813.   ?? YEAR(COMPDATE2)
  814.   ??' the date which you want ?  (Y/N)'
  815.   WAIT '                                                           ' TO N6
  816.   N6=UPPER(N6)
  817.   IF ASC(N6)=0
  818.    RETURN
  819.   ENDIF
  820.   ENDDO
  821.   ?
  822.   ?
  823.   IF COMPDATE1>COMPDATE2
  824.    @ 14,0 CLEAR
  825.    ?
  826.    ?'                         INVALID DATE ENTRY'
  827.    ?
  828.    ?
  829.    WAIT '                    Press any key to continue . . .' TO N1
  830.   ENDIF
  831.  ENDDO
  832.   CASE N4='R'
  833.     OTHERCAL=1
  834.     NOTUSED=10
  835.     INACTIVE=10
  836.     COND1='1'
  837.     COND2='2'
  838.     COND3='3'
  839.  ENDCASE
  840. ENDDO
  841. DO CASE
  842.  CASE COND1='DUEWITHIN'.AND.COND2='LOCATI'.AND.COND3='INSTTYPE'
  843.   NUMCOND=3
  844.  CASE COND1='DUEWITHIN'.AND.COND2='LOCATI'
  845.   NUMCOND=2
  846.  CASE COND1='DUEWITHIN'.AND.COND3='INSTTYPE'
  847.   NUMCOND=2
  848.  CASE COND2='LOCATI'.AND.COND3='INSTTYPE'
  849.   NUMCOND=2
  850.  OTHERWISE
  851.   NUMCOND=1
  852. ENDCASE
  853. DO OSSFMTMF
  854. N4='Z'
  855. ENDDO
  856. RETURN
  857.